package com.xiaolin.designmode.template_method;

/**
 * @ClassName AbstractClass
 * @Description 模板抽象类
 * @Detail 模板方法模式的定义如下：定义一个操作中的算法骨架，而将算法的一些步骤延迟到子类中，使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。
 *              它是一种类行为型模式。
 *              1、步骤：
 *                  1、创建抽象模板类角色
 *                  2、创建具体子类角色
 *                  3、测试
 *              2、总结：
 *                  1、角色：
 *                      1、抽象模板类
 *                      2、具体子类
 *                      3、测试客户端
 *                  2、适用范围：
 *                      例如，一个人每天会起床、吃饭、做事、睡觉等，其中“做事”的内容每天可能不同。
 *                      我们把这些规定了流程或格式的实例定义成模板，允许使用者根据自己的需求去更新它，例如，简历模板、论文模板、Word 中模板文件等。
 * @Author MyPC
 * @Date 2020/11/4
 * @Version 1.0
 */
public abstract class AbstractClass {
    void templateMethod(){
        specificMethod();
        abstractMethod1();
        abstractMethod2();
    }
    void specificMethod(){
        System.out.println("我是公共的步骤");
    }
    abstract void abstractMethod1();
    abstract void abstractMethod2();
}
